package net.zhengxinyun.performance.service.indicators;

import net.zhengxinyun.performance.entity.CountryUnitIndicatorsEntity;
import net.zhengxinyun.performance.entity.UserEntity;
import net.zhengxinyun.performance.filter.CountryUnitIndicatorsFilter;
import net.zhengxinyun.performance.filter.CountryUnitScoreFilter;

import java.util.List;
import java.util.Map;

/**
 * @Auther: hyp
 * @Date: 2018/10/29 18:08
 */
public interface CountryUnitIndicatorsService {
    /**
     * 删除
     * @param countryUnitIndicatorsEntity
     * @return
     */
    String delete(CountryUnitIndicatorsEntity countryUnitIndicatorsEntity);

    /**
     * 更新
     * @param countryUnitIndicatorsEntity
     * @return
     */
    int update(CountryUnitIndicatorsEntity countryUnitIndicatorsEntity);

    /**
     * 插入
     * @param countryUnitIndicatorsEntity
     * @return
     */
    int insert(CountryUnitIndicatorsEntity countryUnitIndicatorsEntity);

    /**
     * 查询
     * @param countryUnitIndicatorsFilter
     * @return
     */
    List<CountryUnitIndicatorsEntity> query(CountryUnitIndicatorsFilter countryUnitIndicatorsFilter, UserEntity userEntity);

    /**
     * 查询 未二次过滤
     * @param countryUnitIndicatorsFilter
     * @return
     */
    List<CountryUnitIndicatorsEntity> query(CountryUnitIndicatorsFilter countryUnitIndicatorsFilter);



    /**
     *
     * @param countryUnitIndicatorsFilter
     * @return
     */
    Integer queryForCount(CountryUnitIndicatorsFilter countryUnitIndicatorsFilter);

    void setIdByName(String name, String dateTime, CountryUnitIndicatorsEntity countryUnitIndicatorsEntity);

    List<CountryUnitIndicatorsEntity> queryCountryUnitScore(CountryUnitScoreFilter countryUnitScoreFilter);

    Integer countCountryUnitScore(CountryUnitScoreFilter countryUnitScoreFilter);


    List<Map<String,Object>> queryScoreList(CountryUnitIndicatorsFilter countryUnitIndicatorsFilter);

    Integer queryForCountIndex(CountryUnitIndicatorsFilter countryUnitIndicatorsFilter);



}


